package com.spider.admin.service.cloud;


import com.spider.admin.exception.SpiderException;
import com.spider.admin.http.entity.PageResult;
import com.spider.admin.store.primary.model.CloudInfo;

public interface CloudService {
    /**
     * 新增服务云信息
     * @param cloudInfo
     * @return
     * @throws SpiderException
     */
    int saveCloudInfo(CloudInfo cloudInfo)throws SpiderException;

    /**
     * 根据ID查询服务云信息
     * @param pid
     * @return
     * @throws SpiderException
     */
    CloudInfo queryCloudById(String pid)throws SpiderException;

    /**
     * 根据ID更新服务云信息
     * @param cloudInfo
     * @param pid
     * @return
     * @throws SpiderException
     */
    int updateCloudById(CloudInfo cloudInfo,String pid)throws SpiderException;

    /**
     * 激活服务云
     * @param pid
     * @return
     * @throws SpiderException
     */
    int activeCloud(String pid)throws SpiderException;

    /**
     * 归档服务云
     * @param pid
     * @return
     * @throws SpiderException
     */
    int archiveCloud(String pid)throws SpiderException;

    /**
     * 查询租户服务云清单
     * @param tenantId
     * @param page
     * @param pageSize
     * @param cloudName
     * @param cloudBasePath
     * @param archiveStatus
     * @return
     */
    PageResult<CloudInfo> queryCloudByTenantId(String tenantId, Integer page, Integer pageSize, String cloudName, String cloudBasePath, String archiveStatus)throws SpiderException;
}

